The present invention relates to the field of processors, and in particular to a microcontroller that includes a protection circuit forming part of a processor unit (e.g., a central processing unit) with associated memory device.
Because of their many uses, processors, controllers, or CPUs are increasingly being employed in various areas to perform tasks that were previous accomplished mechanically, electronically, or electromechanically. Current techniques generally use microcontrollers (μCs), which are implemented in monolithic integrated circuit technology. Adaptation to the respective task is accomplished via an executable program stored in the memory device. According to the respective program being executed, the processor fetches from the memory device the necessary data such as desired values, limit values, coefficients, key information, etc., which the program needs for the control task being executed. Whether the memory device is integrated wholly or in part with the microcontroller, or forms a separate physical unit depends on the type of microcontroller and the amount of memory required.
To optimize the individual control tasks and for testing purposes, it is usually possible to keep track of or selectively intervene in the bidirectional data communication traffic between the processor(s) and the memory device via externally accessible data interfaces. Such an intervention involves reading of the contents of the memory device. Another intervention is the reprogramming of the contents of the memory device, for example to adapt particular programs or coefficients to new conditions or erase the memory contents in whole or in part. However, in many cases external read or write access is not desired so unauthorized access to at least some areas of the memory device should be prevented or at least be made very difficult.
In many cases protection systems using secret keywords are not appropriate. In one example, a separate keyword is reserved for each processor/memory system. However, the management of the components with the many keywords becomes complicated. In another example, a universal keyword is used for a large number of processors and associated memory devices. However, if the universal keyword becomes known, protection will be lost for all members of the group. An example is the unauthorized reproduction of electronic motor or chassis controls in the automotive field, which is also called “cloning”. Other examples of unauthorized accesses are alterations of operating-hour readings, maintenance services records, in the case of automobiles, mainly alterations of odometer readings, and the like.
Therefore, there is a need to provide protection against unauthorized access to a memory device associated with a processor.